newtype Op r a = Op (a -> r)